\hypertarget{classShipCAD_1_1Plane}{}\section{Ship\+C\+AD\+:\+:Plane Class Reference}
\label{classShipCAD_1_1Plane}\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}


{\ttfamily \#include $<$plane.\+h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classShipCAD_1_1Plane_acac0d9c003e0ab10d07b146c3566a0c7}{Plane} ()
\item 
\hyperlink{classShipCAD_1_1Plane_a9a1420228e8baa632c7e8ba66f27772f}{Plane} (float \hyperlink{classShipCAD_1_1Plane_a1105f3715d9593c0971e0b0959859a84}{a}, float \hyperlink{classShipCAD_1_1Plane_adf79c9ba86dd3112fc098141195fcac5}{b}, float \hyperlink{classShipCAD_1_1Plane_a01b0067ca1a669aef5a8ab85bfce41cc}{c}, float \hyperlink{classShipCAD_1_1Plane_a7755d7967aae2e083c5d08fed49d9eef}{d})
\item 
\hyperlink{classShipCAD_1_1Plane_a254ddea0d760646007a19512e502e6fc}{Plane} (const Q\+Vector3D \&p, const Q\+Vector3D \&normal)
\item 
\hyperlink{classShipCAD_1_1Plane_adbaa1f5c7100e5592312359cb8eede37}{Plane} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p3)
\item 
\hyperlink{classShipCAD_1_1Plane_aff2204f8b2b25c201d172d4ec2518c77}{$\sim$\+Plane} ()
\item 
float \hyperlink{classShipCAD_1_1Plane_a1105f3715d9593c0971e0b0959859a84}{a} () const 
\item 
float \hyperlink{classShipCAD_1_1Plane_adf79c9ba86dd3112fc098141195fcac5}{b} () const 
\item 
float \hyperlink{classShipCAD_1_1Plane_a01b0067ca1a669aef5a8ab85bfce41cc}{c} () const 
\item 
float \hyperlink{classShipCAD_1_1Plane_a7755d7967aae2e083c5d08fed49d9eef}{d} () const 
\item 
void \hyperlink{classShipCAD_1_1Plane_a383a2f49031b8bcfa04be06035836a05}{setA} (float val)
\item 
void \hyperlink{classShipCAD_1_1Plane_aab7d46cba75a32089644b183e0a82dff}{setB} (float val)
\item 
void \hyperlink{classShipCAD_1_1Plane_affed6efd889f4725ae764b243763fb3e}{setC} (float val)
\item 
void \hyperlink{classShipCAD_1_1Plane_a5c3e18bcb1bb77563fd994866ba823df}{setD} (float val)
\item 
float \hyperlink{classShipCAD_1_1Plane_a6851b997a300848fcb37b33407165c44}{distance} (const Q\+Vector3D \&point) const 
\item 
bool \hyperlink{classShipCAD_1_1Plane_a76d5f22d213962e8ab0880fae3e919df}{intersects\+Box} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2) const 
\item 
Q\+Vector3D \hyperlink{classShipCAD_1_1Plane_a2ef81e9310257ad80b087181f3191b4a}{project\+Point\+On\+Plane} (const Q\+Vector3D \&p) const 
\begin{DoxyCompactList}\small\item\em project a point onto a plane \end{DoxyCompactList}\item 
bool \hyperlink{classShipCAD_1_1Plane_a8f6c0ea64a798798ee098658cd38935b}{intersect\+Line} (const Q\+Vector3D \&pt, const Q\+Vector3D \&n, bool \&coplanar, Q\+Vector3D \&intpt) const 
\begin{DoxyCompactList}\small\item\em intersect a line with this plane \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{classShipCAD_1_1Plane_a77073798d61488aeac1ebe95358e3b98}{mirror} (const Q\+Vector3D \&pt) const 
\begin{DoxyCompactList}\small\item\em get the mirror of a point about the plane \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 39 of file plane.\+h.



\subsection{Constructor \& Destructor Documentation}
\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!Plane@{Plane}}
\index{Plane@{Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{Plane()}{Plane()}}]{\setlength{\rightskip}{0pt plus 5cm}Plane\+::\+Plane (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [explicit]}}\hypertarget{classShipCAD_1_1Plane_acac0d9c003e0ab10d07b146c3566a0c7}{}\label{classShipCAD_1_1Plane_acac0d9c003e0ab10d07b146c3566a0c7}


Definition at line 37 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!Plane@{Plane}}
\index{Plane@{Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{Plane(float a, float b, float c, float d)}{Plane(float a, float b, float c, float d)}}]{\setlength{\rightskip}{0pt plus 5cm}Plane\+::\+Plane (
\begin{DoxyParamCaption}
\item[{float}]{a, }
\item[{float}]{b, }
\item[{float}]{c, }
\item[{float}]{d}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [explicit]}}\hypertarget{classShipCAD_1_1Plane_a9a1420228e8baa632c7e8ba66f27772f}{}\label{classShipCAD_1_1Plane_a9a1420228e8baa632c7e8ba66f27772f}


Definition at line 42 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!Plane@{Plane}}
\index{Plane@{Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{Plane(const Q\+Vector3\+D \&p, const Q\+Vector3\+D \&normal)}{Plane(const QVector3D &p, const QVector3D &normal)}}]{\setlength{\rightskip}{0pt plus 5cm}Plane\+::\+Plane (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p, }
\item[{const Q\+Vector3D \&}]{normal}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [explicit]}}\hypertarget{classShipCAD_1_1Plane_a254ddea0d760646007a19512e502e6fc}{}\label{classShipCAD_1_1Plane_a254ddea0d760646007a19512e502e6fc}


Definition at line 50 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!Plane@{Plane}}
\index{Plane@{Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{Plane(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p3)}{Plane(const QVector3D &p1, const QVector3D &p2, const QVector3D &p3)}}]{\setlength{\rightskip}{0pt plus 5cm}Plane\+::\+Plane (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p3}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [explicit]}}\hypertarget{classShipCAD_1_1Plane_adbaa1f5c7100e5592312359cb8eede37}{}\label{classShipCAD_1_1Plane_adbaa1f5c7100e5592312359cb8eede37}


Definition at line 58 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!````~Plane@{$\sim$\+Plane}}
\index{````~Plane@{$\sim$\+Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{$\sim$\+Plane()}{~Plane()}}]{\setlength{\rightskip}{0pt plus 5cm}Ship\+C\+A\+D\+::\+Plane\+::$\sim$\+Plane (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_aff2204f8b2b25c201d172d4ec2518c77}{}\label{classShipCAD_1_1Plane_aff2204f8b2b25c201d172d4ec2518c77}


Definition at line 48 of file plane.\+h.



\subsection{Member Function Documentation}
\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!a@{a}}
\index{a@{a}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{a() const }{a() const }}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Plane\+::a (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_a1105f3715d9593c0971e0b0959859a84}{}\label{classShipCAD_1_1Plane_a1105f3715d9593c0971e0b0959859a84}


Definition at line 50 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!b@{b}}
\index{b@{b}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{b() const }{b() const }}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Plane\+::b (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_adf79c9ba86dd3112fc098141195fcac5}{}\label{classShipCAD_1_1Plane_adf79c9ba86dd3112fc098141195fcac5}


Definition at line 52 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!c@{c}}
\index{c@{c}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{c() const }{c() const }}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Plane\+::c (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_a01b0067ca1a669aef5a8ab85bfce41cc}{}\label{classShipCAD_1_1Plane_a01b0067ca1a669aef5a8ab85bfce41cc}


Definition at line 54 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!d@{d}}
\index{d@{d}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{d() const }{d() const }}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Plane\+::d (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_a7755d7967aae2e083c5d08fed49d9eef}{}\label{classShipCAD_1_1Plane_a7755d7967aae2e083c5d08fed49d9eef}


Definition at line 56 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!distance@{distance}}
\index{distance@{distance}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{distance(const Q\+Vector3\+D \&point) const }{distance(const QVector3D &point) const }}]{\setlength{\rightskip}{0pt plus 5cm}float Plane\+::distance (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{point}
\end{DoxyParamCaption}
) const}\hypertarget{classShipCAD_1_1Plane_a6851b997a300848fcb37b33407165c44}{}\label{classShipCAD_1_1Plane_a6851b997a300848fcb37b33407165c44}


Definition at line 72 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!intersect\+Line@{intersect\+Line}}
\index{intersect\+Line@{intersect\+Line}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{intersect\+Line(const Q\+Vector3\+D \&pt, const Q\+Vector3\+D \&n, bool \&coplanar, Q\+Vector3\+D \&intpt) const }{intersectLine(const QVector3D &pt, const QVector3D &n, bool &coplanar, QVector3D &intpt) const }}]{\setlength{\rightskip}{0pt plus 5cm}bool Plane\+::intersect\+Line (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{pt, }
\item[{const Q\+Vector3D \&}]{n, }
\item[{bool \&}]{coplanar, }
\item[{Q\+Vector3D \&}]{intpt}
\end{DoxyParamCaption}
) const}\hypertarget{classShipCAD_1_1Plane_a8f6c0ea64a798798ee098658cd38935b}{}\label{classShipCAD_1_1Plane_a8f6c0ea64a798798ee098658cd38935b}


intersect a line with this plane 


\begin{DoxyParams}{Parameters}
{\em pt} & point on line \\
\hline
{\em n} & direction of line \\
\hline
{\em coplanar} & will be true if line lies in the plane \\
\hline
{\em intpt} & intersection point \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if line and plane are parallel 
\end{DoxyReturn}


Definition at line 136 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!intersects\+Box@{intersects\+Box}}
\index{intersects\+Box@{intersects\+Box}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{intersects\+Box(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2) const }{intersectsBox(const QVector3D &p1, const QVector3D &p2) const }}]{\setlength{\rightskip}{0pt plus 5cm}bool Plane\+::intersects\+Box (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2}
\end{DoxyParamCaption}
) const}\hypertarget{classShipCAD_1_1Plane_a76d5f22d213962e8ab0880fae3e919df}{}\label{classShipCAD_1_1Plane_a76d5f22d213962e8ab0880fae3e919df}


Definition at line 78 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!mirror@{mirror}}
\index{mirror@{mirror}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{mirror(const Q\+Vector3\+D \&pt) const }{mirror(const QVector3D &pt) const }}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Plane\+::mirror (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{pt}
\end{DoxyParamCaption}
) const}\hypertarget{classShipCAD_1_1Plane_a77073798d61488aeac1ebe95358e3b98}{}\label{classShipCAD_1_1Plane_a77073798d61488aeac1ebe95358e3b98}


get the mirror of a point about the plane 


\begin{DoxyParams}{Parameters}
{\em pt} & point to mirror \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the mirrored point 
\end{DoxyReturn}


Definition at line 153 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!project\+Point\+On\+Plane@{project\+Point\+On\+Plane}}
\index{project\+Point\+On\+Plane@{project\+Point\+On\+Plane}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{project\+Point\+On\+Plane(const Q\+Vector3\+D \&p) const }{projectPointOnPlane(const QVector3D &p) const }}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Plane\+::project\+Point\+On\+Plane (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p}
\end{DoxyParamCaption}
) const}\hypertarget{classShipCAD_1_1Plane_a2ef81e9310257ad80b087181f3191b4a}{}\label{classShipCAD_1_1Plane_a2ef81e9310257ad80b087181f3191b4a}


project a point onto a plane 


\begin{DoxyParams}{Parameters}
{\em p} & the point to project onto this plane \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the projected point 
\end{DoxyReturn}


Definition at line 124 of file plane.\+cpp.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!setA@{setA}}
\index{setA@{setA}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{set\+A(float val)}{setA(float val)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Plane\+::setA (
\begin{DoxyParamCaption}
\item[{float}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_a383a2f49031b8bcfa04be06035836a05}{}\label{classShipCAD_1_1Plane_a383a2f49031b8bcfa04be06035836a05}


Definition at line 59 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!setB@{setB}}
\index{setB@{setB}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{set\+B(float val)}{setB(float val)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Plane\+::setB (
\begin{DoxyParamCaption}
\item[{float}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_aab7d46cba75a32089644b183e0a82dff}{}\label{classShipCAD_1_1Plane_aab7d46cba75a32089644b183e0a82dff}


Definition at line 62 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!setC@{setC}}
\index{setC@{setC}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{set\+C(float val)}{setC(float val)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Plane\+::setC (
\begin{DoxyParamCaption}
\item[{float}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_affed6efd889f4725ae764b243763fb3e}{}\label{classShipCAD_1_1Plane_affed6efd889f4725ae764b243763fb3e}


Definition at line 65 of file plane.\+h.

\index{Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}!setD@{setD}}
\index{setD@{setD}!Ship\+C\+A\+D\+::\+Plane@{Ship\+C\+A\+D\+::\+Plane}}
\subsubsection[{\texorpdfstring{set\+D(float val)}{setD(float val)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Plane\+::setD (
\begin{DoxyParamCaption}
\item[{float}]{val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{classShipCAD_1_1Plane_a5c3e18bcb1bb77563fd994866ba823df}{}\label{classShipCAD_1_1Plane_a5c3e18bcb1bb77563fd994866ba823df}


Definition at line 68 of file plane.\+h.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Ship\+C\+A\+Dlib/\hyperlink{plane_8h}{plane.\+h}\item 
Ship\+C\+A\+Dlib/\hyperlink{plane_8cpp}{plane.\+cpp}\end{DoxyCompactItemize}
